package socrates.ws;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;

import org.json.JSONArray;
import org.json.JSONObject;

import socrates.dto.ClaseDTO;
import socrates.dto.ExamenDTO;
import socrates.dto.HorarioDTO;
import socrates.dto.RolDTO;
import socrates.ws.RestClient.RequestMethod;

public class WSRol {
	RestClient con;
	
	public WSRol(String url, int userid){
		con = new RestClient(url+"?CodAlumno="+userid);
	}
	
	public List obtener_Rol(){
		List lstRol = new ArrayList();
		String response;
		
		try {
			con.Execute(RequestMethod.GET);
			response = con.getResponse();
			
			JSONArray jarray = new JSONArray(response);
			
			for (int i = 0; i < jarray.length(); i++) {
				RolDTO objRol = new RolDTO();
				JSONObject jsobject = jarray.getJSONObject(i); 
				
				objRol.setCod_Alumno(jsobject.getInt("CodAlumno"));
				objRol.setCod_Dia(jsobject.getInt("CodDia"));
				objRol.setFecha(jsobject.getString("Fecha"));
				
				JSONArray jsExamenes = jsobject.getJSONArray("lstExamenes");
				List <ExamenDTO> lstExam = new ArrayList();
				for(int j=0; j<jsExamenes.length();j++){
					ExamenDTO objExamen = new ExamenDTO();
					JSONObject jsobjClase = jsExamenes.getJSONObject(j);
					
					objExamen.setCod_Alumno(jsobjClase.getInt("CodAlumno"));
					objExamen.setCod_Curso(jsobjClase.getString("CodCurso"));
					objExamen.setCod_Examen(jsobjClase.getString("CodExamen"));
					objExamen.setCurso_Nombre(jsobjClase.getString("CursoNombre"));
					objExamen.setCurso_NombreCorto(jsobjClase.getString("CursoNombreCorto"));
					objExamen.setFecha(jsobjClase.getString("Fecha"));
					objExamen.setHoraInicio(jsobjClase.getString("HoraInicio"));
					objExamen.setHoraFin(jsobjClase.getString("HoraFin"));
					objExamen.setSalon(jsobjClase.getString("Salon"));
					objExamen.setSeccion(jsobjClase.getString("Seccion"));
					objExamen.setSede(jsobjClase.getString("Sede"));
					
					
					lstExam.add(objExamen);
				}
				objRol.setLstExamen(lstExam);
				lstRol.add(objRol);
			
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		return lstRol;
	}

}
